10 CLS:PRINT "Open Traverse Program:"
15 CLS:SET N
20 PRINT "Start E:";SE;:INPUT SE:PRINT "Start N:";SN;:INPUT SN
25 CLS:PRINT "       [B] Bearing to RO               [C] Coords of RO";
30 I$=INKEY$
40 IF I$="C" OR I$="c" THEN 50
45 IF I$="B" OR I$="b" THEN 60 ELSE 30
50 CLS:PRINT "RO E:";ROE;:INPUT ROE:PRINT "RO N:";RON;:INPUT RON:CLS:GOTO 80
60 CLS:PRINT "RO Brg:";DMS$(ROBEAR);:INPUT ROBEAR
80 CLS:PRINT "Hz Ang:";DMS$(HZANG);:INPUT HZANG:PRINT "Hz Dist:";HZDIST;:INPUT HZDIST
90 CLS:PRINT "Wait...";
95 IF I$="B" OR I$="b" THEN 110
100 Z=POL((ROE-SE),(RON-SN)):ROBEAR=90-Y:IF ROBEAR<0 THEN ROBEAR=ROBEAR+360
110 FWDBRG=ROBEAR+HZANG
120 PTE=SIN(FWDBRG)*HZDIST+SE:PTN=COS(FWDBRG)*HZDIST+SN
130 CLS:BEEP 0:PRINT "x:";ROUND(PTE,-4);TAB(32);"y:"ROUND(PTN,-4):CLS
140 PRINT "Hz Ang:";DMS$(HZANG);:INPUT HZANG:PRINT "Hz Dist:";HZDIST;:INPUT HZDIST
150 CLS:PRINT "Wait...";
160 FWDBRG=FWDBRG+180+HZANG:IF FWDBRG>360 THEN FWDBRG=FWDBRG-360
170 SE=PTE:SN=PTN:GOTO 120